/**
 * 
 */
package com.heer.RD.projecthour.pojo;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.heer.core.dto.BaseObject;
import com.heer.joss.persistence.IBaseDAO;

/**
 * @author ZhaoZehui
 *
 */
public class ProjectDTO extends BaseObject implements Serializable {

	private String projectId;
	private String projName;
	private String deptId;
	private Double budgetMoney;
	private Double budgetHour;
	private Double hourCost;
	private String beginDate;
	private String endDate;
	private Integer isEnd;
	private String memo;
	private String taskAddr;
	private String currMilestone;
	private String pm;
	private String fatherProid;
	private String updateDate;
	
	private List<ProjMilestoneDTO> milestoneList = new ArrayList<ProjMilestoneDTO>();
	private List<UserProjDTO> pmList = new ArrayList<UserProjDTO>();
	private List<ProjectDTO> subProjList = new ArrayList<ProjectDTO>();
	
	public String getProjectId() {
		return projectId;
	}
	public void setProjectId(String projectId) {
		this.projectId = projectId;
	}
	public String getProjName() {
		return projName;
	}
	public void setProjName(String projName) {
		this.projName = projName;
	}
	public String getDeptId() {
		return deptId;
	}
	public void setDeptId(String deptId) {
		this.deptId = deptId;
	}
	public Double getBudgetMoney() {
		return budgetMoney;
	}
	public void setBudgetMoney(Double budgetMoney) {
		this.budgetMoney = budgetMoney;
	}
	public Double getBudgetHour() {
		return budgetHour;
	}
	public void setBudgetHour(Double budgetHour) {
		this.budgetHour = budgetHour;
	}
	public Double getHourCost() {
		return hourCost;
	}
	public void setHourCost(Double hourCost) {
		this.hourCost = hourCost;
	}
	public String getBeginDate() {
		return beginDate;
	}
	public void setBeginDate(String beginDate) {
		this.beginDate = beginDate;
	}
	public String getEndDate() {
		return endDate;
	}
	public void setEndDate(String endDate) {
		this.endDate = endDate;
	}
	public Integer getIsEnd() {
		return isEnd;
	}
	public void setIsEnd(Integer isEnd) {
		this.isEnd = isEnd;
	}
	public String getMemo() {
		return memo;
	}
	public void setMemo(String memo) {
		this.memo = memo;
	}
	public String getTaskAddr() {
		return taskAddr;
	}
	public void setTaskAddr(String taskAddr) {
		this.taskAddr = taskAddr;
	}
	public String getCurrMilestone() {
		return currMilestone;
	}
	public void setCurrMilestone(String currMilestone) {
		this.currMilestone = currMilestone;
	}
	public List<ProjMilestoneDTO> getMilestoneList() {
		return milestoneList;
	}
	public void setMilestoneList(List<ProjMilestoneDTO> milestoneList) {
		this.milestoneList = milestoneList;
	}
	public void setMilestoneList(IBaseDAO milestoneDAO, String projId) {
		setMilestoneList(milestoneDAO.queryByCriteria("project_id = '"+projId+"' order by begin_date"));
	}
	public String getPm() {
		return pm;
	}
	public void setPm(String pm) {
		this.pm = pm;
	}
	public List<UserProjDTO> getPmList() {
		return pmList;
	}
	public void setPmList(List<UserProjDTO> pmList) {
		this.pmList = pmList;
	}
	public void setPmList(IBaseDAO userProjDAO, String projId) {
		setPmList(userProjDAO.queryByCriteria("project_id = '"+projId+"' order by name"));
	}
	public String getFatherProid() {
		return fatherProid;
	}
	public void setFatherProid(String fatherProid) {
		this.fatherProid = fatherProid;
	}
	public List<ProjectDTO> getSubProjList() {
		return subProjList;
	}
	public void setSubProjList(List<ProjectDTO> subProjList) {
		this.subProjList = subProjList;
	}
	public void setSubProjList(IBaseDAO projectDAO, String projId) {
		setSubProjList(projectDAO.queryByCriteria("father_proid = '"+projId+"' order by begin_date"));
	}
	public String getUpdateDate() {
		return updateDate;
	}
	public void setUpdateDate(String updateDate) {
		this.updateDate = updateDate;
	}
}
